package tech.aistar.prj.service;
import com.github.pagehelper.PageInfo;
import tech.aistar.prj.entity.Pet;

import java.util.List;

/**
 * 本类功能:
 *
 * @author cxylk
 * @date 2020/9/16 15:48
 */
public interface IPetService {
    List<Pet> findAll();

    List<Pet> search(String typeId, String name);

    int delById(Integer id);

    /**
     * 分页的形式-
     * 1.物理分页 - 使用sql语句，每次需要去不同页的时候，都是需要和DB进行交互的
     *
     * 2.逻辑分页 - 一次性将数据全部加载到内存，然后通过程序代码进行分页
     * @param typeId
     * @param name
     * @param pageNow
     * @param pagSize
     * @return
     */
    PageInfo<Pet> findByPage(String typeId,String name,Integer pageNow,Integer pageSize);

    /**
     * 添加
     * @param pet
     */
    void save(Pet pet);

    Pet findById(Integer id);

    /**
     * 更新
     * @param pet
     */
    int update(Pet pet);
}
